Specifying JAVA CARD API in OCL
نویسندگان
چکیده
We discuss the development of an OCL specification for the JAVACARD API. The main purpose of this specification is to support and aid the verification of JAVA CARD programs in the KeY system. The main goal of the KeY system is to integrate object oriented design and formal methods. The already existing specification written in JML (JAVA Modelling Language) has been used as a starting point for the development of the OCL specification. In this paper we report on the problems that we encountered when writing the specification and their solutions, we present the most interesting parts of the specification, we report on successful verification attempts and finally we evaluate OCL and compare it to JML in the context of JAVACARD program specification and verification.
منابع مشابه
Formal Specification and Verification of Safety-Critical Software
This thesis is about formal specification and formal verification of software and consists of three different parts. In the first two parts, the formal specification language OCL is treated in two different contexts. The third part describes a technique for analysing the consequences of hardware faults as part of formal software verification. The first part describes the development of OCL spec...
متن کاملThesis for the Degree of Doctor of Philosophy Formal and Informal Software Specifications
The topic of this thesis is to bridge the gap between formal and informal software specifications. Formal specifications are required for the use of formal methods to verify the correctness of software. If we expect formal methods to be used in realistic software development projects, we need to enable people with varying levels of familiarity with formal specification languages to understand, ...
متن کاملFully Verified Java Card API Reference Implementation
We present a formally verified reference implementation of the JAVA CARD API. This case study has been developed with the KeY verification system. The KeY system allows us to symbolically execute the JAVA source code of the API in the KeY verification environment and, in turn, prove correctness of the implementation w.r.t. formal specification we developed along the way. The resulting formal AP...
متن کاملAutomated Debugging in Java Using OCL and JDI
Correctness constraints provide a foundation for automated debugging within object-oriented systems. This paper discusses a new approach to incorporating correctness constraints into Java development environments. Our approach uses the Object Constraint Language (“OCL”) as a specification language and the Java Debug Interface (“JDI”) as a verification API. OCL provides a standard language for e...
متن کاملTowards Verifying Java Realizations of Ocl-constrained Design Models Using Jml
The Object Constraint Language OCL is a formal textual notation that could be used for placing constraints on the modelling elements that occur in UML diagrams. Constraints include invariants on classes and types, and preconditions and postconditions of operations. OCL was designed to be used in conjunctions with UML diagrams resulting in more precise object-oriented designs. The Java Modelling...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 102 شماره
صفحات -
تاریخ انتشار 2004